package jeconbond.automata.behaviour;

import java.util.ArrayList;
import java.util.List;

import jeconbond.automata.INode;

public interface IAutomataWalkListener {
	public void sameState(INode state);
	public void onWalkingPerformed(INode from, INode to);
	public List<Double> getReport();
	
	public class NOPWalkListener implements IAutomataWalkListener {
		public static final IAutomataWalkListener INSTANCE = new NOPWalkListener();
		private static final List<Double> EMPTY_LIST = new ArrayList<Double>();
		public void onWalkingPerformed(INode from, INode to) {}
		public void sameState(INode state) {}
		@Override
		public List<Double> getReport() {
			return EMPTY_LIST;
		}
	}
}
